View Javadoc

1   package uba.db.table;
2   
3   import java.util.List;
4   
5   import uba.db.column.Column;
6   import uba.db.table.io.TableReader;
7   import uba.db.table.io.TableReaderCreationException;
8   
9   /***
10   * Representa una tabla:
11   * <ul>
12   * <li>Brinda la estructura de la tabla </i>
13   * <li>Permite acceder a los datos que contiene la tabla</li>
14   * </ul>
15   * 
16   * @version $Revision: 1.3 $
17   */
18  public interface Table {
19  	/***
20  	 * Retorna una instancia concreta de {@link TableReader}para acceder a la
21  	 * información de esta tabla.
22  	 * 
23  	 * @return una instancia de {@link TableReader}.
24  	 */
25  	TableReader reader() throws TableReaderCreationException;
26  
27  	/***
28  	 * Retorna el nombre de la tabla.s
29  	 */
30  	String name();
31  
32  	/***
33  	 * Inserta una fila en la tabla.
34  	 * 
35  	 * @param values
36  	 *            valores a insertar.
37  	 * 
38  	 * @throws IllegalArgumentException
39  	 *             si values no se corresponde con la estructura de la tabla.
40  	 *             (la cantidad de valores no es la misma que la cantidad de
41  	 *             campos).
42  	 */
43  	void insert(Object[] values) throws IllegalArgumentException,
44  			InsertException;
45  
46  	/***
47  	 * Retorna las columnas que contiene esta tabla.
48  	 */
49  	List columns();
50  
51  	/***
52  	 * Retorna la cantidad de columnas que posee esta tabla. <br>
53  	 * Es equivalente a: <i>columns().size() </i>
54  	 */
55  	int numberOfColumns();
56  
57  	Column columnNamed(String columnName);
58  
59  	int indexOfColumnNamed(String columnName);
60  }